package com.alibaba.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商品实体类，映射数据库表 product。
 * 用于描述商品的基本信息，包括价格、库存、浏览量等。
 *
 * @author ZhouYaDong
 * @date 2025/9/26
 * @description 商品实体
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("product")
public class Product {

    /**
     * 主键ID，自动生成
     * 对应数据库字段：id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 商品名称
     * 对应数据库字段：name
     */
    private String name;

    /**
     * 商品价格
     * 对应数据库字段：price
     */
    private BigDecimal price;

    /**
     * 商品库存数量
     * 对应数据库字段：stock
     */
    private Integer stock;

    /**
     * 商品浏览量
     * 对应数据库字段：view_count
     */
    @TableField("view_count")
    private Long viewCount;

    /**
     * 商品状态（如：0-下架，1-上架）
     * 对应数据库字段：status
     */
    private Byte status;

    /**
     * 商品信息最后更新时间
     * 对应数据库字段：update_time
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

}
